﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SCRUM.Core.BusinessObjects
{
	/// <summary>
	/// Business object for user settings.
	/// </summary>
	public class UserSettings : BusinessObject
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="UserSettings"/> class.
		/// </summary>
		/// <param name="id">The identifier.</param>
		/// <param name="language">The language.</param>
		/// <param name="theme">The theme.</param>
		public UserSettings(int id, string language, string theme, bool mailAssigned, bool mailState):base(id)
		{
			this.Language = language;
			this.Theme = theme;
            this.MailTaskAssignment = mailAssigned;
            this.MailTaskState = mailState;            
		}

		/// <summary>
		/// Gets or sets the language.
		/// </summary>
		/// <value>The language.</value>
		public string Language { get; set; }

		/// <summary>
		/// Gets or sets the theme.
		/// </summary>
		/// <value>The theme.</value>
		public string Theme { get; set; }

        /// <summary>
        /// Gets or sets the options of sending emails after user's assignment/unassignment for task.
        /// </summary>
        /// <value>If true - emails will be sent.</value>
        public bool MailTaskAssignment { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether user wants to get emails after changing state of tasks he is assigned to.
        /// </summary>
        /// <value><c>true</c> if emails are to be sent; otherwise, <c>false</c>.</value>
        public bool MailTaskState { get; set; }
	}
}
